#!/bin/bash

mvn clean install -DskipTest
if [ $? -ne 0 ]; then
    echo "Maven 打包失败，退出脚本"
    exit 1
fi

cp ./target/auto-refresh-csdn.jar docker

# 临时标签
TEMP_TAG="csdnautorefresh-temp"

# 打包镜像 -f:指定Dockerfile文件路径 --no-cache:构建镜像时不使用缓存
docker build -f ./docker/Dockerfile --build-arg JAVA_OPTS="-XX:+UseG1GC" -t $TEMP_TAG .  --no-cache
if [ $? -ne 0 ]; then
    echo "Docker 镜像构建失败，退出脚本"
    exit 1
fi

# 停止并删除旧的容器
docker stop csdnauto 2>/dev/null
docker rm csdnauto 2>/dev/null

# 删除旧镜像
docker rmi csdnautorefresh 2>/dev/null

# 给临时镜像打正式标签
docker tag $TEMP_TAG csdnautorefresh

# 删除临时镜像
docker rmi $TEMP_TAG 2>/dev/null

# 运行
docker run -d -p 8080:9090 --name csdnauto csdnautorefresh
if [ $? -ne 0 ]; then
    echo "Docker 容器启动失败，退出脚本"
    exit 1
fi

echo "应用已成功部署"